Load distribution between nodes in communication networks

ABSTRACT

The present invention discloses a node selection procedure. A load is obtained, having a priority level. The first step selects a node from a first subset of available nodes. If the node is capable of accepting the load, i.e. if the congestion level is low enough to allow a load of the present priority level, the node is selected as a destination node. If the congestion level of the node is too high to allow the node to accept the load, the second step is performed. The second step creates a second subset of nodes, all capable of accepting the load. One of the nodes is then selected as destination node. This second selected node is guaranteed to be able to accept the load. The load is then directed to the selected destination node. If the second subset is empty, the load has to be discarded.

This application is the U.S. National phase of international applicationPCT/SEO1/00681 filed 28 Mar. 2001 which designates the U.S.

TECHNICAL FIELD

The present invention relates generally to distribution of load betweennodes in data- and/or telecommunication systems and in particular todistribution of load in a system comprising a plurality of parallelnodes, i.e. a one-to-multi or a multi-to-multi node system.

BACKGROUND

In the new UMTS architecture with a connectivity layer and a callcontrol layer, Media Gateways (MG) will be used for the connectivitylayer. In the call control layer, Media Gateway Controllers (MGC) willbe used. The MGC controls the distribution of new calls to MG.Congestion situations are always troublesome.

A standard mechanism for general congestion situations is based on thatthe node is associated with a congestion level (CL), being a measure ofthe present overload of the node. Within each CL, there are a number ofsublevels, congestion sublevels (CSL) available for making a smoothtransition between conditions relevant for the different main CLs. Eachmessage is assigned a congestion priority (CP) set by the system anddepending on the nature of the call request. Such a procedure isrecommended in SCCP, ITU-T recommendation Q.714.

A typical way to proceed is:

-   -   A message that has a CP larger than the CL is accepted and sent        to the node.    -   A message that has a CP smaller than the CL is blocked and        discarded and is thus not sent to the congested node.    -   From the messages having a CP equal to CL, a first fraction is        accepted and sent to the node. The rest is blocked and        discarded. This first fraction is equal to 1 minus the ratio of        the CSL and the total number of available sublevels.

This procedure will limit the signalling in case of congestion, and thesublevels will smoothen the transition between the different CLs.

A problem arises when there are more than one link/node/MG to send to,i.e. when the messages that are discarded instead could be redistributedto another exchangeable node instead. In most message systems, this isnot at all interesting, since the messages are addressed to one specificnode, and no other node is of interest. However, it could be of intereston a higher level than individual messages, e.g. where it is possible toredistribute e.g. a whole series of messages to another node, when theseries is started up.

A typical example of such a situation occurs in telecommunicationsystems, where a call can be considered as a series of messages,started-up by some initialization message or call setup. For instance,in the UMTS architecture, there might be several MGCs and several MGs.Each MGC may select a MG among a set of MGs to be used for a call setup.The reminder of the traffic associated with that call will then continueto use the same MG.

A problem thus arises when going from a one-to-one node system to aone-to-multi or multi-to-multi node system. Congestions at the differentnodes have to be handled and an efficient redistribution of load has tobe performed.

One possible solution is to always select the least loaded MG. That isthe one with the lowest CL (and CSL). In, for instance,telecommunication systems, there are, however, problems connected tothis. One problem is that with such a solution, all load within acertain time period will be directed to one and the same node (beforethe congestion measurement reacts). Since the main load of a call isnoticed in the node with a certain time delay, the CL and CSL will startto increase only after some time. When the congestion level of this nodepasses the congestion level of another node, then all load will bedirected to this other node instead. This procedure will subsequentlylead to oscillations in the load between the different nodes. With largeinertia in the system, high amplitude oscillations and risk foroverloading will occur. The problem gets worse and worse with anincreasing number of available nodes.

SUMMARY

An general object with the present technology is to provide a method anda device for congestion controlled load distribution in a one-to-multior multi-to-multi node system. Another object is to provide a method anda device giving less load oscillations at the different nodes. A furtherobject is to distribute some of the load also to nodes with non-minimumcongestion levels in an efficient manner. Yet a further object is todistribute the load equally among equally congested nodes.

The above objects are accomplished by methods and devices according to anode selection procedure, having at least two main steps, is provided.In a first main step an attempt to find a node which is able to managethe load is made. If this fails, a “safe” node selection is made in asecond main step. Each load obtained, has a priority level. The firststep selects a node from a first subset of available nodes. If the nodeis capable of managing the load, i.e. if the congestion level of thenode is low enough to allow a load of the present priority level, thenode is selected as a destination node. If the congestion level of thenode is too high to allow the node to manage the load, the second stepis performed. The second step creates a second subset of nodes, allcapable of managing the load. One of these nodes is then selected asdestination node. This second selected node is very likely to be able tomanage the load. The load is then directed to the selected destinationnode. If the second subset is empty, the load has to be discarded.

The first subset is preferably a subset comprising all nodes having acongestion level less than or equal to the priority level. But mostpreferably, the first subset comprises all nodes. The second subset ispreferably a subset comprising all nodes having a congestion level lessthan the priority level. The selection from a subset can be performed ina random manner giving the nodes the same probability to be selected.Alternatively, the nodes are arranged in a specific order and theselection is performed one after one in this order.

The criterion deciding if a node is likely to manage a load or not ispreferably performed according to the above described recommendationQ.174. Preferably, the congestion measures of the nodes are continuouslyor intermittently updated. The congestion measure could either becalculated in the load distribution device or be obtained from explicitinformation sent from the congested node to the load distributiondevice.

In a generalisation of the method, the number of main steps can belarger than two, selecting nodes from different subsets of nodes.

The technology takes advantage of the whole congestion situation of thesystem to distribute calls among the nodes. The oscillations are reducedand the total throughput is increased. When no nodes are congested, theload is equally distributed. If the intensity and mix of new calls isstable, and if the congestion level or a congestion sublevel of one nodechanges, then the load towards other nodes with higher or equalcongestion level is not at all affected. If the intensity and mix of newcalls is stable, then the load towards one congested node is a linearfunction of the congestion sublevel for that node (with other conditionsconstant).

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, together with further objects and advantages thereof, maybest be understood by making reference to the following descriptiontaken together with the accompanying drawings, in which:

FIG. 1 is a flow diagram illustrating a two main step method accordingto an example embodiment;

FIG. 2 is a flow diagram illustrating a method with n main stepsaccording to an example embodiment;

FIG. 3 is a flow diagram illustrating a preferred embodiment of anacceptance criterion usable with the present technology;

FIG. 4 is a block diagram illustrating an UMTS mobile telephone systemaccording to an example embodiment;

FIG. 5 is a block diagram illustrating the creation of different subsetsbased on congestion level information; and

FIGS. 6 a and b are a block diagrams illustrating two methods ofselecting nodes from subsets.

DETAILED DESCRIPTION

In order to avoid load oscillations in a one-to-multi-node system or amulti-to-multi-node system, some load should preferably be directed alsoto nodes having a higher congestion level than the minimum. Thisdistribution has to be performed in a simple and efficient manner,requiring small and negligible processing resources. Furthermore, thetotal load throughput should not be reduced, but rather improved.

A “congestion level” is selected from a limited set of consecutivecongestion levels. The congestion levels are thus possible to arrange ina specific order, from a lowest congestion level to a highest one. Inthe present disclosure, this order is assumed to range from a lowestcongestion level equal to zero to a highest congestion level equal tothe number of congestion levels in the set minus one. Anyone skilled inthe art, however, understands that this numbering is arbitrary and anyother means for ordering of the levels can be used as well. However, inall cases, the set can be “relabelled” to be a set comprising congestionlevels corresponding to integers. In a more general formulation, the setof congestion levels could be characterised by at least two of theparameters: a maximum and minimum value, respectively, and the totalnumber of congestion levels in the set.

The corresponding argumentation is true for “priority levels”.

A “congested node” is in the present disclosure defined as a node havinga higher amount of offered incoming load than capacity of processing theload. If the concept of congestion levels is defined, a congested nodeis a node having a non-zero congestion level or a non-zero congestionsublevel.

A somewhat congested node, i.e. a node with a low but non-zerocongestion level, may still be likely to manage a smaller amount of newload. A distribution device may therefore, according to common standardprocedures, be permitted to send load to the node in question, if theload has a high enough priority level. If load with different prioritiesare to be distributed by one and the same distribution device, thedistribution has to be performed in such a way that the availablecapacity is utilised in an efficient manner.

A first node selection is made from a first group of nodes, which nodespreferably have as high mean congestion level as possible. Mostpreferably, this first group of nodes comprises all available nodes, butmay comprise other sets of nodes as well. If the selection fails, thefinal selection is made from a group of “safe” nodes, typically having alower mean congestion level.

FIG. 1 illustrates a first example embodiment of a method having twomain steps. The system in which this procedure operates comprises aplurality of nodes, to which a load can be distributed. Each node has anassociated congestion level. The procedure starts in step 100. In step102 a load to be distributed is obtained. The load has an associatedpriority level. A first subset of nodes is created in step 104. Thefirst subset may comprise all nodes having a congestion level less thanor equal to a predefined number. This predefined number may e.g. beequal to the priority level of the load. However, preferably, the firstsubset comprises all nodes, i.e. the first subset is equal to the entireset of nodes itself. This means that the first subset typically alsocomprises nodes, which not with a total certainty can manage the load.However, there might be a certain non-zero probability.

In a preferred embodiment, the number of priority levels should be equalto or less than the number of congestion levels.

A first node is selected from this first subset of nodes in step 106.The selection can be performed according to different procedures,described further below. Since the first subset may comprise both nodes,to which it is permitted to send the load, and nodes, to which it is notpermitted to send the load, an evaluation has to be performed. In step108, it is determined whether or not it is permitted to send the load tothe first node, according to a predetermined criterion. The preferredforms of criteria are discussed further below. If it is permitted tosend the load to the first node, an allowed destination node is found,and the procedure proceeds to step 118. If, on the other hand, it is notpermitted to send the load to the first node, the procedure proceeds tothe second main step, beginning at step 110.

In step 110, a second subset of nodes is created. This second subsetcomprises only nodes in the system, which each one by certainty canaccept the load according to the predetermined criterion mentionedabove. The second subset preferably comprises all congested nodes havinga congestion level less than a predefined number, less than or equal tothe priority level of the loads and all nodes that are not congested atall. Even more preferably, this predefined number is equal to thepriority level of the load. This means that the second subset onlycomprises nodes, to which it is permitted to send the load with anabsolute certainty. The second subset is preferably a subset also of thefirst subset.

If all nodes in the system are so occupied that none with absolutecertainty can accept the load, there are problems taking care of theload. In step 112, it is checked if the second subset is empty. If thisis the case, i.e. no node could manage the load, the load has to bediscarded in step 114. If the second subset comprises at least one node,a node from the second subset is selected in step 116. The details ofthis selection are described more in detail below. This selected node isvery likely to be available for managing the load.

In step 118, any selected node, either from the first main step, i.e.from the first subset, or from the second main step, i.e. from thesecond subset is assigned as a destination node. Finally, in step 120,the load is distributed to the destination node. The procedure ends instep 122.

In other words, the procedure is based on the concept to first try todistribute the load to a node in a first subset. If this is notsuccessful, a safe choice of node is made.

In a generalised form, the procedure can include more than one trialsteps, before the final safe and secure selection is made. This can beillustrated by the flow diagram of FIG. 2. The steps in FIG. 2 havecorresponding features as in FIG. 1, but in a repeated manner. Theprocedure begins in step 200. In step 202, the load to be distributed isobtained. As described earlier, the load is associated with a prioritylevel. The procedure continues with a first main step, illustrated bythe broken box 210. In this first main step, a first subset of nodes isselected in step 212, in a manner corresponding to step 104 in FIG. 1. Afirst node is selected from this first subset in step 214. In step 216,it is determined whether it is permitted to send the load to theselected first node or not. If the first node can manage the load, theprocedure continues to the finalising steps, starting with step 238. If,however, the first node can not manage the load, the procedure willcontinue to the next main step.

The next main step comprises the corresponding steps as in main step210, and the process will proceed to a subsequent main step as long asit is not permitted to send the load to the selected nodes. In the FIG.2, it is assumed that n main steps are present. The (n−1):th main stepis illustrated in full, indicated by 220. The (n−1):th main step startswith step 222, where a (n−1):th subset of nodes is created. In step 224,a (n−1):th node is selected from the (n−1):th subset. In step 226, it isdetermined whether or not the load is permitted to be sent to the(n−1):th node. If the load is permitted to be sent, the procedurecontinues with step 238, otherwise the procedure continues to the n:thand last main step, illustrated by 230.

In the last main step, in step 232, a n:th subset is selected. This n:thsubset is selected in the same manner as the second subset in FIG. 1. Instep 234, it is determined if the n:th subset is empty or not. If thesubset is empty, no node could manage the load, and the load isdiscarded in step 242. If the subset comprises at least one node, one ofthe nodes in the n:th subset is selected as the n:th node in step 236.In step 238, any selected node from any of the main steps is assigned asa destination node. In step 240, the load is distributed to thedestination node. The procedure ends in step 244.

As anyone skilled in the art understands, the flow diagram of FIG. 1corresponds to the one in FIG. 2, with n equal to two. The number oftrials, i.e. main steps, that is worth having, will generally depend onthe specific application. In a possible preferred embodiment, the m:thsubset comprises all nodes of the (m−1):th subset except the selected(m−1):th node. If too many trials are used, the capacity needed fordecision will increase or the time delay before decision will increase,and less importance will be put to the individual congestion levels. Inmost cases, the situation of FIG. 1 is to prefer, i.e. where one trialis made, after which a safe choice is made.

A central role in the distribution procedure is the determination ofwhether or not a certain node can manage the load. This is equivalentwith the determination of whether or not it is permitted to send theload to a certain node. FIG. 3 illustrates a part procedure,corresponding to a preferred criterion of the load acceptance orequivalently a preferred criterion of permission to send. This criterioncorresponds very closely to the one already used in load distributionbased on congestion information in one-to-one node systems. Thecriterion is based on the congestion level of the intended receivingnode, i.e. the node to which the load is intended to be sent, thecongestion sublevel of the intended receiving node and on the prioritylevel of the load. The congestion level is related to a coarse rating ofthe seriousness of any congestion. Within every congestion level, theremight be a finer division, so-called congestion sub-level. Thesesublevels can be used to make the transition between the different maincongestion levels smoother.

The number of congestion sublevels may be different for each congestionlevel, but in a preferred embodiment, all congestion levels have thesame number of congestion sublevels.

The part procedure begins in step 150. In step 152, a node to beexamined is obtained. In step 154, it is determined whether or not thecongestion level of this node is larger than, less thaw, or equal to thepriority level of the load. If the congestion level is larger than thepriority level, the load is not permitted to be sent, and the procedurecontinues to step 164. If the congestion level is smaller than thepriority level, the load can be managed, i.e. the load is permitted tobe sent, and the procedure continues to step 166. If the congestionlevel and the priority level are equal, the procedure continues to step158.

In step 158, the congestion sublevel is evaluated. Preferably, a ratiobetween the congestion sublevel and the number of possible sublevels isdetermined. This ratio can be used to permit a correct fraction of theloads to be sent, where congestion level and priority level agrees. Ahigh congestion sublevel will decrease the number of loads permitted tobe sent, and a low congestion sublevel will increase the number of loadspermitted to be sent. Preferably, the fraction of loads, permitted to besent, is equal to 1 minus the above-mentioned ratio, and subsequently,the fraction of rejected load is equal to the above-mentioned ratio.Assuming such a linear relationship, and for example a total number of 5congestion sublevels, a congestion sublevel of 2 will imply that 60% ofthe loads are permitted to be sent to the intended receiving node. Ifthe congestion sublevel instead is equal to 4, only 20% of the loads arepermitted. In step 162, it is determined if the present load belongs tothe fraction of loads that is to be permitted, and the procedureproceeds to step 164 and 166, respectively. In step 164, the load isrejected and in step 166 the load is accepted. The procedure ends instep 168.

FIG. 4 illustrates a system in which the load distribution methodaccording to the present invention is advantageously applied. Thissystem comprises an UMTS telecommunication system. A number of mobileterminals 10 are communicating with a base station (BS) 12 via radiosignals. A base station controller (BSC) 14 controls the base station.The BSC 14 divides the signalling into a connectivity layer and a callcontrol layer. The call control layer takes care of the signalling tocontrol the call, whereas the connectivity layer operates thetransmission of the payload traffic between subscribers. The BSC 14 isthus connected to a Mobile Station Controller (MSC) 16 via a controlconnection 22. The BSC 14 is subsequently also connected to a mediagateway (MG) 20 via a connectivity connection 24. The operation of theMG 20 is controlled by the MSC by a Media Gateway Controller (MGC) 18via a control connection 26.

When bringing the data to and from the mobile terminals 10 out on othernetworks, a Transit Switching Centre (TSC) 28 is used. The MSC isconnected via the call control layer to the TSC 28 by a call controlconnection 38. A number of MGs 32 act as interfaces between the UMTSnetwork 34 and other networks 36. The MGs 32 receive the payload trafficfrom the MG 20 via connectivity connections 42, but are controlled fromthe TSC 28 by an MGC 30 via call control connections 40. The MGC 30comprises means 50 for performing a selection of suitable nodes. At acall setup procedure, this device 50 thus determine which of the MGs 32that are to be used for the call. The MGC 30 then performs adistribution of load according to the methods of the present technology,performed by the device 50. The payload traffic associated with thecalls are then distributed by connections 44 from the MGs 32 in thedifferent networks 36.

In the above embodiment, a TSC 28 performs a distribution of load.However, in other situations, a similar distribution may be controlledby e.g., a MSC. The MSC may in such a case be equipped with meansnecessary to perform the distribution of load according to the presenttechnology.

An important component in the present technology is the creation of thesubsets. The subsets may comprise all nodes, and the subsets maycomprise no nodes at all, depending on the congestion situation. In FIG.5, an example of a congestion situation for a 7-node system isillustrated, together with a preferred manner to perform the creation ofsubsets. The nodes are placed along the horizontal axis, and thecongestion level (CL) and congestion sublevels (CSL) connected theretoare positioned along the vertical axis. In this example, node N1 has aCL=0 and CSL=0. Node N2 has a CL=1 and CSL=2, node N3 has a CL=0 andCSL=1, node N4 has a CL=3 and CSL=0, node N5 has a CL=3 and CSL=4, nodeN6 has a CL=4 and CSL=0 and node N7 has a CL=0 and CSL=3. A number ofsubsets are created. A subset A comprises N1, N3 and N7, whichcorresponds to the nodes having a CL equal to zero. A subset B comprisesN1, N2, N3 and N7, which corresponds to the nodes having a CL less thanor equal to one. Subsets C, D and E are constructed in an analoguemanner.

When a load is obtained, which is associated with a priority level of 3,the subset D can for instance be used as the first subset. In thissubset, all nodes except N6 are included. If any of the nodes N1, N2, N3or N7 is selected as first node, the node is assigned to be thedestination node. If N4 or N5 is selected, the congestion sublevel CSLwill give a probability for the load to be permitted to be sent to thenode. It is thus possible in some cases that a node with congestionlevel 3 can accept a load of priority level 3. If N4 or N5 is selected,but determined not to accept the load, the second step takes over.

As anyone skilled in the art understands, the creation of subsets couldbe performed in advance, like in FIG. 5, or the creation could takeplace at the occasion when they are needed. By creating the subsets inadvance, a simple selection among pre-created subsets has to beperformed every time a subset is to be created. Information, e.g. aboutlast selected node, can also be stored, which can be useful in somecases, see further descriptions below. However, a creation of thesubsets at each occasion has the advantage that one insures that onlythe latest available congestion level information is guaranteed to beused.

In some cases, the subset does not need to be created at all, in aexplicit meaning. It is only necessary with means for determiningwhether or not a node fulfils the criterion of belonging to the subset.The information about which ones of all the nodes that belong to acertain subset may not need to be extracted from the total set of nodesat any time. However, “creating a certain subset” and “determiningwhether the criterion which belongs to this certain subset is fulfilledor not” are basically equivalent.

In the second step, the subset is a “safe” one, in this example e.g.subset C. All nodes within subset C will accept the load, without needto check the congestion sublevels. Any node selected from this subsetwill be assigned as destination node for the load.

Note the special case that N1 is a safe choice after every first subset(also to subset A), since N1 is not congested.

It is obvious that other subsets can be created, which will have similarresult. In a preferred embodiment, all nodes are used in the firstsubset. In this case the “creation” of the subset is trivial. In anotherembodiment, the first created subset could be the difference betweensubsets C and D, i.e. only nodes having a CL of exactly 3. However,special attention has to be paid when there are no nodes with suchcongestion levels.

The selection of a node from a subset is also of importance. In mostapplications, an even selection probability is to prefer. FIG. 6 aillustrates one possibility for selection of the subset B of FIG. 5. Thesubset comprises four nodes. All nodes are given the same probability,i.e. 0.25. Every time a selection from this subset is to be performed, arandom selection according to these probabilities can then easily beexecuted. However, it is obvious that a weighted probability also can beused. The node N2 can for instance be given a higher probability thanthe rest of the nodes, if N2 has a higher capacity than the rest or N2is cheaper to use.

An alternative, when using uniform probabilities, is to create aninternal order in the subset. FIG. 6 b illustrates subset B, and herethe nodes are ordered in increasing order. A pointer points at the lastselected node, in this example N2. Next time a selection from thissubset is to be performed, the pointer will be moved one step, i.e. tonode N3. When the pointer reaches the end of the list, it will continuefrom the top again. With this alternative, the subset B does not need tobe explicitly created, as discussed above, but the pointer is updated tothe next node that fulfils the criterion of belonging to the subset.However, this assumes that all nodes could be arranged in some fixedorder.

There are several methods of measuring congestion levels in prior art.The present technology does not rely on any specific of these methods,and any congestion measuring method giving some type of congestion leveland preferably also a congestion sublevel is possible to use. Oneexample would be to regulate the occupation of messages in thetransmission buffers in the MGC, so that the transmission buffer towardsa MG does not overflow. The regulation is performed by the MGC bychanging the value of CL and/or CLS. Another way would be that a MGregulates its own load by sending CL or CSL (or both) to connected MGCs.The regulation is performed by the MG by changing the value of CL and/orCSL. A third manner to perform this, influenced by SCCP, is that a MGregulated its own load by sending CL to connected MGCs. The MGCs use atimer to calculate CSL. The regulation is performed by the MG bychanging the value of CL.

It is preferably, if the congestion levels of the different availablenodes are updated now and then. The updating could be continuous, inthat sense that when a change in congestion level occurs, the changewill immediately be reported to the unit controlling the loaddistribution. Alternatively, the load distribution control unit willintermittently request congestion level information from the differentnodes. When new congestion data is achieved, the subsets should bere-evaluated, if pre-created subsets are used. Nodes changing theircongestion level may then be deleted or added to different pre-createdsubsets.

The priority level has a central role in the present technology. Inmobile telephony systems, the system may assign a priority to each callrequest, depending on the type of call. In a typical case, a request forsetting up a call from a subscriber within the base stations connectedto the UMTS system, i.e. an originating call, will be associated with apriority level of 1. Call setups, which are requested by an externalsource, for instance another MSC or a node in another network, i.e.incoming calls, will be associated with a priority level of 2. Thishigher priority can be motivated in that an incoming call alreadyoccupies resources in the connected networks and these already occupiedresources should be allowed to be used for a useful information transferas far as possible. An incoming call has already consumed resources,e.g. processor capacity, and if such a call is rejected, then moreresources are wasted in the network than if an originating call, whichhas until then consumed less capacity, is rejected. Certain call setupscan also be assigned a priority level of 3 and higher, depending on thetype of call. For instance, a call originating from a subscriber thathas dialed an emergency number may automatically be given a highpriority. Such priorities are normally set by the system. When a nodegets congested, the first action is to reject originating calls. Nextstep is to reject incoming calls and the further next step is also toreject emergency calls.

The technology takes advantage of the whole congestion situation of thesystem for distributing calls among the nodes. The oscillations arereduced and the total throughput is increased. When no nodes arecongested, the load is equally distributed. If the intensity and mix(with respect to priority level) of new loads is stable, and if thecongestion level or a congestion sublevel of one node changes, then theload towards other nodes with higher or equal congestion level is not atall affected. If the intensity and mix of new loads is stable, then theload towards one node is a linear function of the congestion sublevelfor that node (with other conditions constant). These lattercharacteristics are valid for the preferred embodiments, describedabove.

Although the described examples are directed towards telecommunicationsystems, the present invention is applicable in other messagedistribution systems as well, such as general datacommunication systems.

It will be understood by those skilled in the art that variousmodifications and changes may be made to the present invention withoutdeparture from the scope thereof, which is defined by the appendedclaims.

1. A method for distribution of load between a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels, comprising the acts of: (a) creating a first subset of said plurality of nodes; (b) selecting by a Media Gateway Controller (MGC) a first node from the first subset of nodes, having a mean congestion level; (c) if said first node, according to a predetermined criterion, is capable of handling said load, assigning by the Media Gateway Controller (MGC) said first node as a destination node, said predetermined criterion being based on said congestion levels and a priority level associated to said load, said priority level being selected from a limited set of consecutive priority levels; (d) if said first node, according to said predetermined criterion, is not capable of handling said load, repeating acts (a) to (d) using another node of the first subset as the first node until a destination node is assigned, but at most a predetermined number of times; (e) if the acts (a) to (d) have been repeated the predetermined number of times, performing the following part acts: (e1) creating a second subset of said plurality of nodes having a mean congestion level that is lower than for said first subset, said second subset comprising nodes capable of handling said load according to said predetermined criterion; (e2) if said second subset is empty, rejecting said load; and (e3) if said second subset comprises at least one node, selecting by the Media Gateway Controller (MGC) a second node from said second subset and assigning said second node as destination node; (f) if a destination node is assigned, distributing by the Media Gateway Controller (MGC) said load to said assigned destination node.
 2. A method according to claim 1, wherein said first subset comprises all nodes.
 3. A method according to claim 1, wherein said first subset comprises all nodes having a congestion level lower than or equal to a first number, being larger than or equal to said priority level.
 4. A method according to claim 3, wherein said first number is equal to said priority level.
 5. A method according to claim 1, wherein said second subset comprises all non-congested nodes.
 6. A method according to claim 1, wherein said second subset comprises all nodes having a congestion level lower than or equal to a second number, being less than said priority level.
 7. A method according to claim 6, wherein said second number is one unit less than said priority level.
 8. A method according to claim 1, wherein said predetermined criterion states that: a node is capable of handling a load if the congestion level of said node is less than said priority level; and a node is not capable of handling a load if the congestion level of said node is larger than said priority level.
 9. A method according to claim 8, wherein said predetermined criterion further states that a node having a congestion level equal to said priority level is capable of handling a load according to a sub-criterion.
 10. A method according to claim 9, wherein each node further has an associated congestion sublevel, said congestion sublevel being selected from a limited set of consecutive congestion sublevels for each congestion level, whereby said sub-criterion states that a node having a congestion level equal to said priority level is capable of handling a load in a fraction of cases, said fraction is based on said congestion sublevel in that a larger congestion sublevel gives a smaller fraction.
 11. A method according to claim 10, wherein said fraction is determined by 1 minus the ratio between the difference of said congestion sublevel of said node and the lowest congestion sublevel in said set of congestion sublevels and the number of congestion sublevels in said set of congestion sublevels.
 12. A method according to claim 1, wherein the number of priority levels in said set of priority level is equal to or less than the number of congestion levels in said set of congestion levels.
 13. A method according to claim 1, wherein at least one of said selecting acts in turn comprises the acts of: selecting a node from the subset in a random manner, each node having the same probability.
 14. A method according to claim 1, wherein at least one of said selecting acts in turn comprises the acts of: selecting a node from the subset in a random manner, each node having a weighted probability.
 15. A method according to claim 1, wherein at least one of said selecting acts in turn comprises the acts of: arranging nodes in the subset in a certain order; and selecting a node from the subset in said certain order.
 16. A method according to claim 1, comprising the further act of: updating said congestion levels and congestion sublevels, if any, continuously or intermittently.
 17. A method for distribution of load between a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels, the method comprising the acts of: creating a first subset of said plurality of nodes; selecting by a Media Gateway Controller (MGC) a first node from said first subset, having a mean congestion level; if said first node, according to a predetermined criterion, is capable of handling said load, assigning said first node as a destination node, said predetermined criterion being based on said congestion levels and a priority level associated to said load, said priority level being selected from a limited set of consecutive priority levels; if said first node, according to said predetermined criterion, is not capable of handling said load, performing the following part acts: creating a second subset of said plurality of nodes having a mean congestion level that is lower than for said first subset, said second subset comprising nodes capable of handling said load, according to said predetermined criterion; if said second subset is empty, rejecting said load; and if said second subset comprises at least one node, selecting by the Media Gateway Controller (MGC) a second node from said second subset and assigning said second node as the destination node; if a destination node is assigned, distributing by the Media Gateway Controller (MGC) said load to said assigned destination node.
 18. Method according to claim 17, wherein said first subset comprises all nodes.
 19. Method according to claim 17, wherein said first subset comprises all nodes having a congestion level lower than or equal to a first number, being larger than or equal to said priority level.
 20. Method according to claim 17, wherein said second subset comprises all non-congested nodes.
 21. Method according to claim 17, wherein said second subset comprises all nodes having a congestion level lower than or equal to a second number, being less than said priority level.
 22. A device for node selection for load distribution between a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels, said device comprising: (a) means for creating a at least a first subset of said plurality of nodes; (b) means for selecting at least a first a node from said first subset of nodes, having a mean congestion level; (c) means for assigning said first node as a destination node, a predetermined criterion being based on said congestion levels and a priority level associated to said load, said priority level being selected from a limited set of consecutive priority levels, said means for assigning being operable if said first node, according to said predetermined criterion, is capable of handling said load; whereby, if said first node, according to said predetermined criterion, is not capable of handling said load, means (a) to (c) are repeatedly operated to select another node from the first set to be the first node until the destination node is assigned, but at most a predetermined number of times; (d1) means for creating a second subset of said plurality of nodes, having a mean congestion level that is lower than for said first subset, said second subset comprising nodes capable of handling said load, according to said predetermined criterion; (d2) means for rejecting said load, operable if said second subset is empty; and (d3) means for selecting a second node from said second subset and assigning said second node as the destination node, operable if said second subset comprises at least one node; whereby the means (d1) to (d3) are operable if the means (a) to (c) have been operated the predetermined number of times; (e) means for controlling the distribution of said load to said assigned destination node, operable if the destination node is assigned.
 23. A device for node selection for load distribution between a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels, said device comprising: means for creating a first subset of said plurality of nodes; means for selecting at least a first node from said first subset of nodes, having a mean congestion level; means for assigning said first node as a destination node, operable if said first node, according to a predetermined criterion, is capable of handling said load, said predetermined criterion being based on said congestion levels and a priority level associated to said load, said priority level being selected from a limited set of consecutive priority levels; means for creating a second subset of said plurality of nodes, having a mean congestion level that is lower than for said first subset, said second subset comprising nodes capable of handling said load, according to said predetermined criterion; means for rejecting said load, operable if said second subset is empty; means for selecting a second node from said second subset and assigning said second node as the destination node; operable if said second subset comprises at least one node; whereby said means for creating a second subset, said means for rejecting and said means for selecting a second node are operable if said first node, according to said predetermined criterion, is not capable of handling said load; and means for controlling the distribution of said load to said assigned destination node, operable if the destination node is assigned.
 24. A communication system comprising: a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels; means for providing a load to be distributed to any of said plurality of nodes: distribution means for distributing said load to a destination node; and a device for controlling said distribution means comprising: means for selecting at least a first node from a first subset of nodes, having a mean congestion level; and means for selecting a second node from a second subset of nodes, having a mean congestion level that is lower than for said first subset, said second selecting means being operable if said first node is not capable of handling said load; wherein said device for controlling said distribution means further comprises: (a) means for creating a subset of said plurality of nodes; (b) means for selecting a node from said subset; (c) means for assigning said node selected by (b) as a destination node for said load, a predetermined criterion being based on said congestion levels and a priority level associated to said load, said priority level being selected from a limited set of consecutive priority levels, said means for assigning being operable if said node selected by (b), according to said predetermined criterion, is capable of handling said load; whereby if said node selected by (b), according to said predetermined criterion, is not capable of handling said load, means (a) to (c) are repeatedly operated, until another selected node is assigned as the destination, but at most a predetermined number of times; (d1) means for creating the second subset of said plurality of nodes, said second subset comprising nodes capable of handling said load, according to said predetermined criterion; (d2) means for rejecting said load, operable if said second subset is empty; and (d3) means for selecting the second node from said second subset and assigning said second node as the destination node, operable if said second subset comprises at least one node; whereby the means (d1) to (d3) are operable if the means (a) to (c) have been operated the predetermined number of times; whereby said distribution means is arranged for distribution of said load to said assigned destination node, if a destination node is assigned.
 25. A communication system according to claim 24, wherein said system is a telecommunication system or a data communication system.
 26. A communication system according to claim 25, herein said system comprises a UMTS network.
 27. A communication system comprising: a plurality of nodes, each of said nodes having an associated congestion level, selected from a limited set of consecutive congestion levels; means for providing a load to be distributed to any of said plurality of nodes; distribution means for distributing said load to a destination node; and a device for controlling said distribution means comprising: means for creating a first subset of said plurality of nodes; means for selecting a first node from said first subset; means for selecting at least a first node from a first subset of nodes, having a mean congestion level; means for assigning said first node as a destination node, operable if said first node, according to a predetermined criterion, is capable of handling said load, said predetermined criterion being based on said congestion levels and a priority level, said priority level being selected from a limited set of consecutive priority levels; means for creating a second subset of said plurality of nodes, having a mean congestion level that is lower than for said first subset, said second subset comprising nodes capable of handling said load, according to said predetermined criterion; means for rejecting said load, operable if said second subset is empty; means for selecting a second node from said second subset of nodes and for assigning said second node as the destination node, said second node selecting means being operable if said first node is not capable of handling said load and if said second subset comprises at least one node; whereby said means for creating the second subset, said means for rejecting and said means for selecting the second node are operable if said first node, according to said predetermined criterion, is not capable of handling said load; and whereby said distribution means is arranged for distribution of said load to said assigned destination node if the destination node is assigned. 